/**
 Copyright (C) 2013 Yuyao Liang

 This source code is release under the BSD License.

 This program is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE.  See the license for more details.

 Created on Dec 19, 2013 9:40:12 AM
 */
package com.googlecode.backtest.rule.simulation;

import java.util.List;
import java.util.UUID;

/**
 * @author lianyuy
 * 
 */
public abstract class BackTestSimulation<T, S> implements
		IBackTestSimulation<T, S> {
	protected List<String> data_ids;
	protected String id = null;
	protected String _ID;
	protected S parameter;

	public BackTestSimulation() {
		super();
		Long uuid = UUID.randomUUID().getMostSignificantBits();
		_ID = Long.toHexString(uuid);
	}

	public BackTestSimulation(String id, List<String> data_ids, S parameter) {
		this();
		this.data_ids = data_ids;
		this.id = id;
		this.parameter = parameter;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.google.srclib.base.GUIDable#getGUID()
	 */
	@Override
	public String getGUID() {
		return _ID;
	}
}
